package me.sdevil507.biz.fruit.dto;

import lombok.Data;
import me.sdevil507.biz.fruit.po.FruitLeaderPO;
import me.sdevil507.biz.fruit.po.FruitSubPO;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class ResultServicesHomeListFruitDTO implements Serializable {

    private long id;

    private String name;

    private String awards;

    private String type;

    /**
     * 活动成果类型 1：出席会议 2：接受采访 3：考察调研 4：授课培训
     */
    private String activityProdType;

    private Date pubTime;

    private Date completionTime;

    private String authors;

    private String summary;

    private String linkUrl;

    private String linkAddress;

    private long orgId;

    private String orgName;

    private String orgLogo;

    private String photo;

    private String realName;

    private String phoneNumber;

    private String mail;

    private String remark;

    private Boolean isAdopt;

    private String theme;

    private String press;

    private String journalName;

    private String meetingTypeName;

    private String visitTypeName;

    private String specialSubSource;

    private List<FruitSubPO> fruitSubPOList;

    private List<FruitLeaderPO> fruitLeaderList;

    private String wordsClouds;

    public ResultServicesHomeListFruitDTO(long id, String name, String type, String activityProdType, Date pubTime, String authors, String summary, long orgId, String orgName, String photo, String realName, String phoneNumber, String mail) {
        this.id = id;
        this.name = name;
        this.type = type;
        this.activityProdType = activityProdType;
        this.pubTime = pubTime;
        this.authors = authors;
        this.summary = summary;
        this.orgId = orgId;
        this.orgName = orgName;
        this.photo = photo;
        this.realName = realName;
        this.phoneNumber = phoneNumber;
        this.mail = mail;
    }

    public ResultServicesHomeListFruitDTO(long id, String name, String type, String activityProdType, Date pubTime, String authors, Boolean isAdopt, String summary, long orgId, String orgName, String realName, String phoneNumber, String mail) {
        this.id = id;
        this.name = name;
        this.type = type;
        this.activityProdType = activityProdType;
        this.pubTime = pubTime;
        this.authors = authors;
        this.isAdopt = isAdopt;
        this.summary = summary;
        this.orgId = orgId;
        this.orgName = orgName;
        this.realName = realName;
        this.phoneNumber = phoneNumber;
        this.mail = mail;
    }

    public ResultServicesHomeListFruitDTO(String name, String summary, String remark) {
        this.name = name;
        this.summary = summary;
        this.remark = remark;
    }

    public ResultServicesHomeListFruitDTO(long id, String name, String awards, String type, String activityProdType, Date pubTime, Date completionTime, String authors, String summary, String linkUrl, String linkAddress, long orgId, String orgName, String orgLogo, String realName, String phoneNumber, String mail, String theme, String press, String journalName, String meetingTypeName, String visitTypeName, String specialSubSource) {
        this.id = id;
        this.name = name;
        this.awards = awards;
        this.type = type;
        this.activityProdType = activityProdType;
        this.pubTime = pubTime;
        this.completionTime = completionTime;
        this.authors = authors;
        this.summary = summary;
        this.linkUrl = linkUrl;
        this.linkAddress = linkAddress;
        this.orgId = orgId;
        this.orgName = orgName;
        this.orgLogo = orgLogo;
        this.realName = realName;
        this.phoneNumber = phoneNumber;
        this.mail = mail;
        this.theme = theme;
        this.press = press;
        this.journalName = journalName;
        this.meetingTypeName = meetingTypeName;
        this.visitTypeName = visitTypeName;
        this.specialSubSource = specialSubSource;
    }

    public ResultServicesHomeListFruitDTO(long id, String name, String awards, String type, String activityProdType, Date pubTime, Date completionTime, String authors, String summary, String linkUrl, long orgId, String orgName, String orgLogo, String realName, String phoneNumber, String mail, String theme, String meetingTypeName, String visitTypeName, String specialSubSource, String wordsClouds) {
        this.id = id;
        this.name = name;
        this.awards = awards;
        this.type = type;
        this.activityProdType = activityProdType;
        this.pubTime = pubTime;
        this.completionTime = completionTime;
        this.authors = authors;
        this.summary = summary;
        this.linkUrl = linkUrl;
        this.orgId = orgId;
        this.orgName = orgName;
        this.orgLogo = orgLogo;
        this.realName = realName;
        this.phoneNumber = phoneNumber;
        this.mail = mail;
        this.theme = theme;
        this.meetingTypeName = meetingTypeName;
        this.visitTypeName = visitTypeName;
        this.specialSubSource = specialSubSource;
        this.wordsClouds = wordsClouds;
    }
}
